package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.common.pojo.Member;
import com.itheima.common.pojo.Order;
import com.itheima.common.pojo.OrderSetting;
import com.itheima.common.pojo.dto.OrderSettingPageQueryDTO;
import com.itheima.common.pojo.vo.OrderVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.Date;
import java.util.List;

@Mapper
public interface OrderSettingMapper {

    /**
     * 分页查询预约设置数据
     * @param orderSettingDTO
     * @return
     */
    Page<OrderVO> pageQuery(OrderSettingPageQueryDTO orderSettingDTO);

    /**
     * 修改预约状态
     * @param order
     */
    void update(Order order);

    /**
     * 根据月份查询预约设置数据
     * @param beginDate
     * @param endDate
     * @return
     */
    List<OrderSetting> getOrderSettingByMonth(@Param("beginDate") String beginDate,
                                              @Param("endDate") String endDate);

    /**
     * 查询所有预约设置数据
     * @return
     */
    List<OrderSetting> findAll();

    /**
     * 根据预约日期查询预约设置数据
     * @param orderDate
     * @return
     */
    Long findCountByOrderDate(Date orderDate);

    /**
     * 根据预约日期修改预约设置数据
     * @param orderSetting
     */
    void editNumberByOrderDate(OrderSetting orderSetting);

    /**
     * 添加预约设置数据
     * @param orderSetting
     */
    void add(OrderSetting orderSetting);

}
